#ifndef SIZECLASSIFIERSVC_H
#define SIZECLASSIFIERSVC_H
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <deque>
#include <iostream>
#include <string.h>
#include <opencv2/opencv.hpp>
//#include <armor_detect.h>

#define N_FEATURES 3
#define N_CLASSES 2
#define N_VECTORS 2229
#define N_ROWS 2
#define N_COEFFICIENTS 1
#define N_INTERCEPTS 1
#define KERNEL_TYPE 'r'
#define KERNEL_GAMMA 0.001
#define KERNEL_COEF 0.0
#define KERNEL_DEGREE 3

#define BUFFER_LENGTH 30
#define COM_RATIO 1

using namespace std;
using namespace cv;

class SizeClassifierSVC
{
public:
    SizeClassifierSVC();
    int predict(double features[]);
    int BufferPredict(double features[]);
    int Init_Infan_data();
    int Infan_SizePredict(vector<Point> all_point);//retrun small(0), big(1)


private:
    int buffer_length;
    int com_ratio;
    deque<int> buffer;

    double Infan_vectors[2229][3];
    double Infan_coeff[1][2229];
    double Infan_intercepts[1] = {0.29545117436268203};
    int Infan_weights[2] = {1116, 1113};
};

#endif // SIZECLASSIFIERSVC_H
